[INFO] cloning repository https://github.com/roshankarande/rust_learn
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/roshankarande/rust_learn" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froshankarande%2Frust_learn", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froshankarande%2Frust_learn'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8d43f5cb83f56b37e3b3d0831b48a3de173c6fc5
[INFO] fixing roshankarande/rust_learn against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froshankarande%2Frust_learn" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/roshankarande/rust_learn
[INFO] finished tweaking git repo https://github.com/roshankarande/rust_learn
[INFO] tweaked toml for git repo https://github.com/roshankarande/rust_learn written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/roshankarande/rust_learn on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/roshankarande/rust_learn already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: session3/logspan/Cargo.toml: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: `logspan` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62
[INFO] running `Command { std: "docker" "start" "2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating session1/authentication/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session1/login/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session1/login_manager/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session1/variables/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/atomics/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/channels/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/dashing/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/deadlock/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/hello_1/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/mutexes/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/parking/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/rayon_example/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/rayon_scope/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/rwLock/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/scoped_threads/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/send_funcs_threads/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/thread_builder/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/thread_priority_example/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/workload_divide/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/workqueue/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/async_channels/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/database/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/error_handling/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/fileio/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/hello_async/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/hello_axum/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/hello_tokio/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/hello_tokio_more/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/logspan/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/networkio/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/thumbnail_server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/tokio_blocking/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/tokio_select/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/tokio_unittest/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating utils/old_files_deletion/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr] warning: session3/logspan/Cargo.toml: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: `logspan` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.81
[INFO] [stderr]    Compiling serde v1.0.198
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling cc v1.0.95
[INFO] [stderr]    Compiling serde_json v1.0.116
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking getrandom v0.2.14
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]    Compiling thiserror v1.0.59
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling rustversion v1.0.15
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking http-body-util v0.1.1
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]    Compiling tokio v1.37.0
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling rustix v0.38.33
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling axum-core v0.4.3
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling multer v3.0.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling axum v0.7.5
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling fastrand v2.0.2
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling built v0.7.2
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]     Checking bytemuck v1.15.0
[INFO] [stderr]     Checking rustls-pki-types v1.4.1
[INFO] [stderr]     Checking base64 v0.22.0
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking bitstream-io v2.2.0
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking zune-jpeg v0.4.11
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking thread-priority v0.16.0
[INFO] [stderr]     Checking rwLock v0.1.0 (/opt/rustwide/workdir/session2/rwLock)
[INFO] [stderr]    Migrating session2/rwLock/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking workqueue v0.1.0 (/opt/rustwide/workdir/session2/workqueue)
[INFO] [stderr]    Migrating session2/workqueue/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking atomics v0.1.0 (/opt/rustwide/workdir/session2/atomics)
[INFO] [stderr]     Checking channels v0.1.0 (/opt/rustwide/workdir/session2/channels)
[INFO] [stderr]    Migrating session2/atomics/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking thread_priority_example v0.1.0 (/opt/rustwide/workdir/session2/thread_priority_example)
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]    Migrating session2/channels/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking parking v0.1.0 (/opt/rustwide/workdir/session2/parking)
[INFO] [stderr]    Migrating session2/thread_priority_example/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking scoped_threads v0.1.0 (/opt/rustwide/workdir/session2/scoped_threads)
[INFO] [stderr]     Checking send_funcs_threads v0.1.0 (/opt/rustwide/workdir/session2/send_funcs_threads)
[INFO] [stderr]    Migrating session2/parking/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking variables v0.1.0 (/opt/rustwide/workdir/session1/variables)
[INFO] [stderr]     Checking dashing v0.1.0 (/opt/rustwide/workdir/session2/dashing)
[INFO] [stderr]    Migrating session2/scoped_threads/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Migrating session2/send_funcs_threads/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Migrating session1/variables/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/dashing/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking hello v0.1.0 (/opt/rustwide/workdir/session2/hello_1)
[INFO] [stderr]     Checking deadlock v0.1.0 (/opt/rustwide/workdir/session2/deadlock)
[INFO] [stderr]     Checking workload v0.1.0 (/opt/rustwide/workdir/session2/workload_divide)
[INFO] [stderr]        Fixed session2/dashing/src/main.rs (1 fix)
[INFO] [stderr]     Checking mutexes v0.1.0 (/opt/rustwide/workdir/session2/mutexes)
[INFO] [stderr]     Checking thread_builder v0.1.0 (/opt/rustwide/workdir/session2/thread_builder)
[INFO] [stderr]    Migrating session2/hello_1/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/deadlock/src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed session2/deadlock/src/main.rs (1 fix)
[INFO] [stderr]    Migrating session2/workload_divide/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/mutexes/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/thread_builder/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling serde_derive v1.0.198
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.59
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling tokio-stream v0.1.15
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking image-webp v0.1.2
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking hello_async v0.1.0 (/opt/rustwide/workdir/session3/hello_async)
[INFO] [stderr]    Migrating session3/hello_async/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking fileio v0.1.0 (/opt/rustwide/workdir/session3/fileio)
[INFO] [stderr]     Checking embed v0.1.0 (/opt/rustwide/workdir/utils/old_files_deletion)
[INFO] [stderr]     Checking tokio_blocking v0.1.0 (/opt/rustwide/workdir/session3/tokio_blocking)
[INFO] [stderr]     Checking tokio_unittest v0.1.0 (/opt/rustwide/workdir/session3/tokio_unittest)
[INFO] [stderr]     Checking hello_tokio_more v0.1.0 (/opt/rustwide/workdir/session3/hello_tokio_more)
[INFO] [stderr]     Checking async_channels v0.1.0 (/opt/rustwide/workdir/session3/async_channels)
[INFO] [stderr]     Checking tokio_select v0.1.0 (/opt/rustwide/workdir/session3/tokio_select)
[INFO] [stderr]    Migrating session3/tokio_unittest/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/async_channels/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking logspan v0.1.0 (/opt/rustwide/workdir/session3/logspan)
[INFO] [stderr]    Migrating session3/tokio_blocking/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking hello_tokio v0.1.0 (/opt/rustwide/workdir/session3/hello_tokio)
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]    Migrating utils/old_files_deletion/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking h2 v0.4.4
[INFO] [stderr]    Migrating session3/tokio_select/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]    Migrating session3/hello_tokio_more/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Migrating session3/fileio/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/logspan/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/hello_tokio/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking authentication v0.1.0 (/opt/rustwide/workdir/session1/authentication)
[INFO] [stderr]     Checking error_handling v0.1.0 (/opt/rustwide/workdir/session3/error_handling)
[INFO] [stderr]    Migrating session1/authentication/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking login_manager v0.1.0 (/opt/rustwide/workdir/session1/login_manager)
[INFO] [stderr]     Checking login v0.1.0 (/opt/rustwide/workdir/session1/login)
[INFO] [stderr]     Checking sqlformat v0.2.3
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking rayon_example v0.1.0 (/opt/rustwide/workdir/session2/rayon_example)
[INFO] [stderr]     Checking rayon_scope v0.1.0 (/opt/rustwide/workdir/session2/rayon_scope)
[INFO] [stderr]    Migrating session3/error_handling/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session1/login_manager/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session1/login/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/rayon_example/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session2/rayon_scope/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking hyper v1.3.1
[INFO] [stderr]     Checking hyper-util v0.1.3
[INFO] [stderr]     Checking sqlx-core v0.7.4
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.4
[INFO] [stderr]     Checking sqlx-sqlite v0.7.4
[INFO] [stderr]     Checking ravif v0.11.5
[INFO] [stderr]     Checking networkio v0.1.0 (/opt/rustwide/workdir/session3/networkio)
[INFO] [stderr]    Migrating session3/networkio/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking image v0.25.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]     Checking hello_axum v0.1.0 (/opt/rustwide/workdir/session3/hello_axum)
[INFO] [stderr]     Checking ardanlabs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]    Migrating session3/hello_axum/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking database v0.1.0 (/opt/rustwide/workdir/session3/database)
[INFO] [stderr]     Checking thumbnail_server v0.1.0 (/opt/rustwide/workdir/session3/thumbnail_server)
[INFO] [stderr]    Migrating session3/database/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating session3/thumbnail_server/src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed session3/thumbnail_server/src/main.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> session3/thumbnail_server/src/main.rs:66:29
[INFO] [stdout]      |
[INFO] [stdout]   66 |     while let Some(field) = multipart.next_field().await.unwrap() {
[INFO] [stdout]      |                             ----------------------------^^^^^^^^^
[INFO] [stdout]      |                             |                      |
[INFO] [stdout]      |                             |                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                             |                      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                             up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]   67 |         let name = field.name().unwrap().to_string();
[INFO] [stdout]   68 |         let data = field.bytes().await.unwrap();
[INFO] [stdout]      |             ----   -------------------
[INFO] [stdout]      |             |      |             |
[INFO] [stdout]      |             |      |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |             |      |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |             |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |             |      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `data` calls a custom destructor
[INFO] [stdout]      |             `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   75 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> session3/thumbnail_server/src/main.rs:161:27
[INFO] [stdout]     |
[INFO] [stdout] 161 |           while let Some(row) = rows.try_next().await? {
[INFO] [stdout]     |                          ---    ^^^^^^^^^^^^^^^^-----^
[INFO] [stdout]     |                          |      |               |
[INFO] [stdout]     |                          |      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                          |      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                          |      up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `row` calls a custom destructor
[INFO] [stdout]     |                          `row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 165 | / / /             spawn_blocking(move || {
[INFO] [stdout] 166 | | | |                 make_thumbnail(id)
[INFO] [stdout] 167 | | | |             }).await??;
[INFO] [stdout]     | | | |                -------
[INFO] [stdout]     | | | |                |   |||
[INFO] [stdout]     | |_|_|________________|___||this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |   | |                |   ||`#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |   |_|________________|___|this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |     |                |   |`#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |     |________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                      |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                      `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 168 |               }
[INFO] [stdout] 169 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]     |
[INFO] [stdout] 350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> session3/thumbnail_server/src/main.rs:66:29
[INFO] [stdout]      |
[INFO] [stdout]   66 |     while let Some(field) = multipart.next_field().await.unwrap() {
[INFO] [stdout]      |                             ----------------------------^^^^^^^^^
[INFO] [stdout]      |                             |                      |
[INFO] [stdout]      |                             |                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                             |                      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                             up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             `__awaitee` calls a custom destructor
[INFO] [stdout]      |                             `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]   67 |         let name = field.name().unwrap().to_string();
[INFO] [stdout]   68 |         let data = field.bytes().await.unwrap();
[INFO] [stdout]      |             ----   -------------------
[INFO] [stdout]      |             |      |             |
[INFO] [stdout]      |             |      |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |             |      |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |             |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |             |      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `data` calls a custom destructor
[INFO] [stdout]      |             `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   75 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> session3/thumbnail_server/src/main.rs:161:27
[INFO] [stdout]     |
[INFO] [stdout] 161 |           while let Some(row) = rows.try_next().await? {
[INFO] [stdout]     |                          ---    ^^^^^^^^^^^^^^^^-----^
[INFO] [stdout]     |                          |      |               |
[INFO] [stdout]     |                          |      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                          |      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                          |      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          |      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                          |      up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `row` calls a custom destructor
[INFO] [stdout]     |                          `row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 165 | / / /             spawn_blocking(move || {
[INFO] [stdout] 166 | | | |                 make_thumbnail(id)
[INFO] [stdout] 167 | | | |             }).await??;
[INFO] [stdout]     | | | |                -------
[INFO] [stdout]     | | | |                |   |||
[INFO] [stdout]     | |_|_|________________|___||this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |   | |                |   ||`#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |   |_|________________|___|this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |     |                |   |`#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |     |________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                      |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                      `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 168 |               }
[INFO] [stdout] 169 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-sqlite-0.7.4/src/value.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl Drop for ValueHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/task/join.rs:350:1
[INFO] [stdout]     |
[INFO] [stdout] 350 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: authentication v0.1.0 (/opt/rustwide/workdir/session1/authentication) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: login v0.1.0 (/opt/rustwide/workdir/session1/login) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: login_manager v0.1.0 (/opt/rustwide/workdir/session1/login_manager) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: variables v0.1.0 (/opt/rustwide/workdir/session1/variables) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: atomics v0.1.0 (/opt/rustwide/workdir/session2/atomics) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: channels v0.1.0 (/opt/rustwide/workdir/session2/channels) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: dashing v0.1.0 (/opt/rustwide/workdir/session2/dashing) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: deadlock v0.1.0 (/opt/rustwide/workdir/session2/deadlock) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: hello v0.1.0 (/opt/rustwide/workdir/session2/hello_1) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: mutexes v0.1.0 (/opt/rustwide/workdir/session2/mutexes) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: parking v0.1.0 (/opt/rustwide/workdir/session2/parking) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rayon_example v0.1.0 (/opt/rustwide/workdir/session2/rayon_example) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rayon_scope v0.1.0 (/opt/rustwide/workdir/session2/rayon_scope) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: rwLock v0.1.0 (/opt/rustwide/workdir/session2/rwLock) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: scoped_threads v0.1.0 (/opt/rustwide/workdir/session2/scoped_threads) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: send_funcs_threads v0.1.0 (/opt/rustwide/workdir/session2/send_funcs_threads) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: thread_builder v0.1.0 (/opt/rustwide/workdir/session2/thread_builder) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: thread_priority_example v0.1.0 (/opt/rustwide/workdir/session2/thread_priority_example) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: workload v0.1.0 (/opt/rustwide/workdir/session2/workload_divide) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: workqueue v0.1.0 (/opt/rustwide/workdir/session2/workqueue) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: async_channels v0.1.0 (/opt/rustwide/workdir/session3/async_channels) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: database v0.1.0 (/opt/rustwide/workdir/session3/database) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: error_handling v0.1.0 (/opt/rustwide/workdir/session3/error_handling) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: fileio v0.1.0 (/opt/rustwide/workdir/session3/fileio) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: hello_async v0.1.0 (/opt/rustwide/workdir/session3/hello_async) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: hello_axum v0.1.0 (/opt/rustwide/workdir/session3/hello_axum) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: hello_tokio v0.1.0 (/opt/rustwide/workdir/session3/hello_tokio) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: hello_tokio_more v0.1.0 (/opt/rustwide/workdir/session3/hello_tokio_more) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logspan v0.1.0 (/opt/rustwide/workdir/session3/logspan) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: networkio v0.1.0 (/opt/rustwide/workdir/session3/networkio) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: thumbnail_server v0.1.0 (/opt/rustwide/workdir/session3/thumbnail_server) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tokio_blocking v0.1.0 (/opt/rustwide/workdir/session3/tokio_blocking) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tokio_select v0.1.0 (/opt/rustwide/workdir/session3/tokio_select) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tokio_unittest v0.1.0 (/opt/rustwide/workdir/session3/tokio_unittest) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: embed v0.1.0 (/opt/rustwide/workdir/utils/old_files_deletion) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ardanlabs v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr] warning: session3/logspan/Cargo.toml: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: `logspan` (manifest) generated 1 warning
[INFO] [stderr]     Checking authentication v0.1.0 (/opt/rustwide/workdir/session1/authentication)
[INFO] [stderr]     Checking database v0.1.0 (/opt/rustwide/workdir/session3/database)
[INFO] [stderr]     Checking thread_priority_example v0.1.0 (/opt/rustwide/workdir/session2/thread_priority_example)
[INFO] [stderr]     Checking dashing v0.1.0 (/opt/rustwide/workdir/session2/dashing)
[INFO] [stderr]     Checking networkio v0.1.0 (/opt/rustwide/workdir/session3/networkio)
[INFO] [stderr]     Checking ardanlabs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking logspan v0.1.0 (/opt/rustwide/workdir/session3/logspan)
[INFO] [stderr]     Checking hello_axum v0.1.0 (/opt/rustwide/workdir/session3/hello_axum)
[INFO] [stderr]     Checking thumbnail_server v0.1.0 (/opt/rustwide/workdir/session3/thumbnail_server)
[INFO] [stdout] warning: unused import: `core::hash`
[INFO] [stdout]  --> session1/authentication/src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::hash;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash`, `fmt::format`, and `io::stdin`
[INFO] [stdout]  --> session1/authentication/src/lib.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, fmt::format, hash::{Hash, Hasher}, io::stdin, path::Path};
[INFO] [stdout]   |                                 ^^^^^^^^^^^         ^^^^           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BodyDataStream`
[INFO] [stdout]  --> session3/thumbnail_server/src/main.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::{body::{Body, BodyDataStream}, extract::Multipart, http::{header, HeaderMap}, response::{Html, IntoResponse}, routing::{get...
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hello_async v0.1.0 (/opt/rustwide/workdir/session3/hello_async)
[INFO] [stdout] warning: fields `latitude`, `longitude`, and `current_weather` are never read
[INFO] [stdout]  --> session3/networkio/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Weather {
[INFO] [stdout]   |        ------- fields in this struct
[INFO] [stdout] 7 |     latitude: f64,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 8 |     longitude: f64,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 9 |     current_weather: CurrentWeather,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Weather` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `temperature` and `windspeed` are never read
[INFO] [stdout]   --> session3/networkio/src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct CurrentWeather {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 14 |     temperature: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 15 |     windspeed: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CurrentWeather` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BodyDataStream`
[INFO] [stdout]  --> session3/thumbnail_server/src/main.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::{body::{Body, BodyDataStream}, extract::Multipart, http::{header, HeaderMap}, response::{Html, IntoResponse}, routing::{get...
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `say_hello_text` is never used
[INFO] [stdout]   --> session3/hello_axum/src/main.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | async fn say_hello_text() -> &'static str {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `say_hello_html` is never used
[INFO] [stdout]   --> session3/hello_axum/src/main.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn say_hello_html() -> Html<&'static str> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `say_hello_html_included` is never used
[INFO] [stdout]   --> session3/hello_axum/src/main.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | async fn say_hello_html_included() -> Html<&'static str> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> session3/logspan/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::subscriber`
[INFO] [stdout]  --> session3/logspan/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::subscriber;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rayon_example v0.1.0 (/opt/rustwide/workdir/session2/rayon_example)
[INFO] [stderr]     Checking rayon_scope v0.1.0 (/opt/rustwide/workdir/session2/rayon_scope)
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> session3/logspan/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::subscriber`
[INFO] [stdout]  --> session3/logspan/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::subscriber;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking error_handling v0.1.0 (/opt/rustwide/workdir/session3/error_handling)
[INFO] [stdout] warning: fields `latitude`, `longitude`, and `current_weather` are never read
[INFO] [stdout]  --> session3/networkio/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Weather {
[INFO] [stdout]   |        ------- fields in this struct
[INFO] [stdout] 7 |     latitude: f64,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 8 |     longitude: f64,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 9 |     current_weather: CurrentWeather,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Weather` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `temperature` and `windspeed` are never read
[INFO] [stdout]   --> session3/networkio/src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct CurrentWeather {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 14 |     temperature: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 15 |     windspeed: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CurrentWeather` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> session1/authentication/src/lib.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, fmt::format, hash::{Hash, Hasher}, io::stdin, path::Path};
[INFO] [stdout]   |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Row`
[INFO] [stdout]  --> session3/database/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Row, FromRow};
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `say_hello_text` is never used
[INFO] [stdout]   --> session3/hello_axum/src/main.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | async fn say_hello_text() -> &'static str {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `say_hello_html` is never used
[INFO] [stdout]   --> session3/hello_axum/src/main.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn say_hello_html() -> Html<&'static str> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `say_hello_html_included` is never used
[INFO] [stdout]   --> session3/hello_axum/src/main.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | async fn say_hello_html_included() -> Html<&'static str> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Row`
[INFO] [stdout]  --> session3/database/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Row, FromRow};
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tokio_blocking v0.1.0 (/opt/rustwide/workdir/session3/tokio_blocking)
[INFO] [stderr]     Checking hello_tokio v0.1.0 (/opt/rustwide/workdir/session3/hello_tokio)
[INFO] [stdout] warning: unused import: `core::hash`
[INFO] [stdout]  --> session1/authentication/src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::hash;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash`, `fmt::format`, and `io::stdin`
[INFO] [stdout]  --> session1/authentication/src/lib.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, fmt::format, hash::{Hash, Hasher}, io::stdin, path::Path};
[INFO] [stdout]   |                                 ^^^^^^^^^^^         ^^^^           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fileio v0.1.0 (/opt/rustwide/workdir/session3/fileio)
[INFO] [stderr]     Checking embed v0.1.0 (/opt/rustwide/workdir/utils/old_files_deletion)
[INFO] [stderr]     Checking tokio_unittest v0.1.0 (/opt/rustwide/workdir/session3/tokio_unittest)
[INFO] [stdout] warning: fields `id` and `message` are never read
[INFO] [stdout]  --> session3/database/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Message {
[INFO] [stdout]   |        ------- fields in this struct
[INFO] [stdout] 6 |     id: i64,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 7 |     message: String,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> session1/authentication/src/lib.rs:2:59
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, fmt::format, hash::{Hash, Hasher}, io::stdin, path::Path};
[INFO] [stdout]   |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking async_channels v0.1.0 (/opt/rustwide/workdir/session3/async_channels)
[INFO] [stdout] warning: fields `id` and `message` are never read
[INFO] [stdout]  --> session3/database/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Message {
[INFO] [stdout]   |        ------- fields in this struct
[INFO] [stdout] 6 |     id: i64,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 7 |     message: String,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking login v0.1.0 (/opt/rustwide/workdir/session1/login)
[INFO] [stderr]     Checking login_manager v0.1.0 (/opt/rustwide/workdir/session1/login_manager)
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> session3/thumbnail_server/src/main.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | async fn test(Extension(pool): Extension<sqlx::SqlitePool>) -> String {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tokio_select v0.1.0 (/opt/rustwide/workdir/session3/tokio_select)
[INFO] [stdout] warning: unused import: `tokio::join`
[INFO] [stdout]  --> session3/hello_tokio/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tokio::join;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::join`
[INFO] [stdout]  --> session3/hello_tokio/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tokio::join;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `builder::Str`
[INFO] [stdout]  --> session1/login_manager/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::{builder::Str, Parser, Subcommand};
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> session3/fileio/src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_count` is never used
[INFO] [stdout]   --> session3/fileio/src/main.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn line_count(filename: String) -> anyhow::Result<usize> {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hello_tokio_more v0.1.0 (/opt/rustwide/workdir/session3/hello_tokio_more)
[INFO] [stderr]     Checking rwLock v0.1.0 (/opt/rustwide/workdir/session2/rwLock)
[INFO] [stdout] warning: unused import: `builder::Str`
[INFO] [stdout]  --> session1/login_manager/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::{builder::Str, Parser, Subcommand};
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `double_it` is never used
[INFO] [stdout]  --> session3/tokio_unittest/src/lib.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | async fn double_it(n: u32) -> u32 {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking workqueue v0.1.0 (/opt/rustwide/workdir/session2/workqueue)
[INFO] [stderr]     Checking scoped_threads v0.1.0 (/opt/rustwide/workdir/session2/scoped_threads)
[INFO] [stderr]     Checking variables v0.1.0 (/opt/rustwide/workdir/session1/variables)
[INFO] [stderr]     Checking deadlock v0.1.0 (/opt/rustwide/workdir/session2/deadlock)
[INFO] [stdout] warning: function `read_lines` is never used
[INFO] [stdout]   --> session3/fileio/src/main.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>>
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line_count` is never used
[INFO] [stdout]   --> session3/fileio/src/main.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn line_count(filename: String) -> anyhow::Result<usize> {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking parking v0.1.0 (/opt/rustwide/workdir/session2/parking)
[INFO] [stderr]     Checking hello v0.1.0 (/opt/rustwide/workdir/session2/hello_1)
[INFO] [stderr]     Checking workload v0.1.0 (/opt/rustwide/workdir/session2/workload_divide)
[INFO] [stderr]     Checking atomics v0.1.0 (/opt/rustwide/workdir/session2/atomics)
[INFO] [stderr]     Checking send_funcs_threads v0.1.0 (/opt/rustwide/workdir/session2/send_funcs_threads)
[INFO] [stderr]     Checking channels v0.1.0 (/opt/rustwide/workdir/session2/channels)
[INFO] [stderr]     Checking mutexes v0.1.0 (/opt/rustwide/workdir/session2/mutexes)
[INFO] [stdout] warning: function `hello_thread` is never used
[INFO] [stdout]  --> session2/hello_1/src/main.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn hello_thread(n: u32) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `my_shared` should have an upper case name
[INFO] [stdout]  --> session2/deadlock/src/main.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | static my_shared: Mutex<u32> = Mutex::new(3);
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 4 - static my_shared: Mutex<u32> = Mutex::new(3);
[INFO] [stdout] 4 + static MY_SHARED: Mutex<u32> = Mutex::new(3);
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> session3/thumbnail_server/src/main.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | async fn test(Extension(pool): Extension<sqlx::SqlitePool>) -> String {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking thread_builder v0.1.0 (/opt/rustwide/workdir/session2/thread_builder)
[INFO] [stdout] warning: static variable `my_shared` should have an upper case name
[INFO] [stdout]  --> session2/deadlock/src/main.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | static my_shared: Mutex<u32> = Mutex::new(3);
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 4 - static my_shared: Mutex<u32> = Mutex::new(3);
[INFO] [stdout] 4 + static MY_SHARED: Mutex<u32> = Mutex::new(3);
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hello_thread` is never used
[INFO] [stdout]  --> session2/hello_1/src/main.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn hello_thread(n: u32) {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62", kill_on_drop: false }`
[INFO] [stdout] 2b7c2b87f53902c340e768dc41f2e9be3af91854a12485333688f2dcc7793c62
